package com.example.tests;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.nullValue;
import java.util.Random;
import org.testng.annotations.Test;
import com.example.fw.Folders;


public class TestFolderRemoval extends TestBase {
	
	@Test
	public void testDeleteFolderByName(){
		// Удалять будем только что созданную папку, поэтому создаем папку
		String folder = generateRandomString();
		assertThat(app.getFolderHelper().createFolder(folder), is(nullValue()));
		// Список до удаления
		Folders oldFolders = app.getFolderHelper().getFolders();
				
		// Удаление
		app.getFolderHelper().deleteFolderByName(folder);
		// Новый список групп
		Folders newFolders = app.getFolderHelper().getFolders();
		// Сравнение
		assertThat(newFolders, equalTo(oldFolders.without(folder)));			
	}
	
	@Test
	public void testDeleteFolderByIndex(){
		// Список до удаления
		Folders oldFolders = app.getFolderHelper().getFolders();
		
		Random rnd = new Random();
		int index = rnd.nextInt(oldFolders.getSize() - 1);
				
		// Удаление
		app.getFolderHelper().deleteFolderByIndex(index);
		// Новый список групп
		Folders newFolders = app.getFolderHelper().getFolders();
		// Сравнение
		assertThat(newFolders, equalTo(oldFolders.without(index)));			
	}

}
